package tech.aistar.day04;

import java.util.Date;

/**
 * 本类用来演示: java.util.Date 日期处理类
 *
 * @author: success
 * @date: 2021/3/9 2:07 下午
 */
public class DateDemo {
    public static void main(String[] args) {
        //1. 构建一个日期对象 - 获取本地的系统日期
        Date date = new Date();
        System.out.println(date);//Tue Mar 09 14:08:30 CST 2021

        //关于设置的
        date.setYear(2021-1900);
        //月份的范围是[0,11]之间
        date.setMonth(2);
        //设置日
        date.setDate(7);
        //设置时分秒

        System.out.println(date);

        //关于获取年份
        int year = date.getYear()+1900;
        System.out.println("year:"+year);

        //获取月份
        int month = date.getMonth()+1;
        System.out.println("month:"+month);

        //获取日
        System.out.println("date:"+date.getDate());

        //获取今天是几号
        int day = date.getDay();
        //周日 - 返回数字0
        //周一到周六 -> 数字1-6
        System.out.println("day:"+day);

        System.out.println("====毫秒数=====");

        //Date类型转换成long类型
        Date now = new Date();
        //获取当前操作系统距离1970[1969-1970 - unix操作系统诞生的日期]年的毫秒数
        //毫秒数 - 特点 - 唯一性 - 用作生成订单的编号
        long time = now.getTime();
        System.out.println(time);

        //long类型->Date类型
        long lt = 1415271181402L;
        Date dt = new Date();
        dt.setTime(lt);
        System.out.println(dt);

//        应用: java中的日期对象是不能够进行运算的
        Date dd = new Date();
        //业务题 - 输出三天之后的此刻的日期
        //计算出三天之后的毫秒数是多少
        long after = dd.getTime()+3L*24*60*60*1000;
        dd.setTime(after);

        System.out.println(dd);

        System.out.println("====");
        Date de = new Date(2021-1900,2,9);
        System.out.println(de);

        //利用毫秒数来构建新的日期
        Date tt = new Date(615272730914L);
        System.out.println(tt);
    }
}
